home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / answrbok / 5_3.lha / 5_3 / 5_3d.c < prev    next >
Text File  |  1993-08-08  |  517b  |  28 lines

  1. * Copyright (c) 1990 by AT&T Bell Telephone Laboratories, Incorporated. */
  2. * The C++ Answer Book */
  3. * Tony Hansen */
  4. * All rights reserved. */
  5. / is `s' a member of the string set?
  6. nt strset:: member(char* t)    // binary search
  7.  
  8.    int lower = 0;
  9.    int upper = cursize - 1;
  10.  
  11.    while (lower <= upper)
  12. {
  13. int middle = (lower + upper) / 2;
  14. int cmpval = strcmp(t, x[middle]);
  15.  
  16. if (cmpval < 0)
  17.     upper = middle - 1;
  18.  
  19. else if (cmpval > 0)
  20.     lower = middle + 1;
  21.  
  22. else
  23.     return 1;    // found
  24. }
  25.  
  26.    return 0;        // not found
  27.  
  28.